package br.com.medvagas.comum.entidade;

import java.io.Serializable;
import javax.persistence.*;

import java.util.Set;


/**
 * The persistent class for the especialidade database table.
 * 
 */
@Entity
@Table(name="especialidade")
@NamedQueries({
	@NamedQuery(
		name="Especialidade.consultarEspecialidadePorProfissao", 
		query="select e from Especialidade e where e.profissao.idProfissao = :idProfissao")
})  
public class Especialidade implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="id_especialidade")
	private Integer idEspecialidade;

	private String nome;

	//bi-directional many-to-one association to Profissao
    @ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="id_profissao")
	private Profissao profissao;

	//bi-directional many-to-one association to Vaga
	@OneToMany(mappedBy="especialidade", fetch=FetchType.LAZY)
	private Set<Vaga> vagas;

    public Especialidade() {
    }

	public Integer getIdEspecialidade() {
		return this.idEspecialidade;
	}

	public void setIdEspecialidade(Integer idEspecialidade) {
		this.idEspecialidade = idEspecialidade;
	}

	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public Profissao getProfissao() {
		return this.profissao;
	}

	public void setProfissao(Profissao profissao) {
		this.profissao = profissao;
	}
	
	public Set<Vaga> getVagas() {
		return this.vagas;
	}

	public void setVagas(Set<Vaga> vagas) {
		this.vagas = vagas;
	}
	
}